const db=wx.cloud.database({
  env:"cloudwx-dm78q"
  // throwOnNotFound: false
});
Page({

  /**
   * 页面的初始数据
   */
  data: {
    detailState:false,//商品详情显示状况
   product_id:1,
   _id:"",
   currentIndex:-1,//当前点击的索引
   productList:[],//产品列表
   productTypeList:[],//产品类型列表
    optionList: ['所有', '选项1', '选项2','选项3','选项4','选项5'],
    value: '所有',
    productImg:'cloud://cloudwx-dm78q.636c-cloudwx-dm78q-1300838257/nuoge/blog-6.jpg',//默认产品图片

    hideFlag: true,//true-隐藏  false-显示
    animationData: {},//
    orderProduct:[],//订购的产品
    scrollTop:0,
    // 需要显示的商品信息
    picurl:"",
    productTypeName:"",
    name:"",
    price:""

  },
  handlerHide(){
    this.setData({
      detailState:false,
      picurl:"",
          name:"",
          price:"",
          productTypeName:""
    })
  },
  // 查看商品详情
  seeDetail(e){
    wx.showLoading({
      title: '加载中',
    })
    var id=e.currentTarget.dataset.id;
    var that=this;
    this.setData({
      detailState:true
    })
    // 根据商品id获取商品详情
    console.log("我被点击了")
    db.collection("product").where({
      _id:id
    }).get({
      success:res=>{
        console.log(res)
        that.setData({
          picurl:res.data[0].picurl,
          name:res.data[0].name,
          price:res.data[0].price,
          productTypeName:res.data[0].productTypeName
        })
        wx.hideLoading({
          success: (res) => {
            console.log("操作结束")
          },
        })
      },fail:err=>{
        console.log("为获取到商品")
        wx.hideLoading({
          success: (res) => {
            console.log("操作结束")
          },
        })
      }
      
    })
  },
  // 点击选项
  getOption: function (e) {
    var that = this;
    that.setData({
      value: e.currentTarget.dataset.value,
      // hideFlag: true
    })
  },

  // 加入供货单
  addMenu:function(e){
    var that = this
    var productList = this.data.productList || {}
    console.log(productList)
    var index = e.currentTarget.dataset.index;
    var id = e.currentTarget.dataset.id;
    productList.forEach((item, i, arr) => {
      if (id === item._id) {
        if (item.store <= item.stepCount) {
          wx.showToast({
            title: '没货了',
            icon: "none",
            image: "../../../images/tupianjiazaishibai02.png"
          })
        } else {
          item.addCar+=1;
          // 存放到内存中
          var saveProductList = wx.getStorageSync("saveProductList")||[]
          console.log(saveProductList)
          var resProduct = saveProductList.findIndex((value, index) => value._id==id)
          console.log(resProduct)
          if (resProduct!=-1){
            // 代表重复添加数据
            // var saveProductListAgain = wx.getStorageSync("saveProductList")
            // item.stepCount += 1
            // saveProductList.push(item)
            var saveProductList = wx.getStorageSync("saveProductList") 
            saveProductList[resProduct].stepCount+=1;

            wx.setStorage({
              key: 'saveProductList',
              data: saveProductList
            })
          }else{
            item.stepCount=1
            item.selected = true
            saveProductList.push(item)
            // 第一次添加数据
            wx.setStorage({
              key: 'saveProductList',
              data: saveProductList
            })
          }
          wx.showToast({
            title: '加入成功',
            icon:'none'
          })
        }
      }
    })
    console.log(productList)
    this.setData({
      productList
    })
  },

  //根据产品类型id获取产品
  selectProduct:function(event){
    console.log(event)
    var that=this;
    var index = event.currentTarget.dataset.index
    var id=event.currentTarget.dataset.id;
    this.setData({
      currentIndex:index,
      scrollTop:0,
      product_id: id
    })
    console.log(id)
    wx.showLoading({
      title: '加载中……',
    })
    wx.cloud.callFunction({
      name:'findProductListByTypeId',
      data:{
        productTypeId:id
      },
      success:res=>{
        console.log(res)
        that.setData({
          productList:res.result.data
        })
        wx.hideLoading({
          success: (res) => {
            console.log("加载结果")
          },
        })
      }
    })
  },

  //点击查看
  showModal: function () {
    // const productList=this.data.productList
    // console.log(productList)
    // var newProductList = productList.filter((item,index,arr)=>{
    //   if (parseInt(item.stepCount) > 0) {
    //         // 将其值设为选中状态
    //         return item.selected = true
    //       }
    // })
    // console.log(newProductList)
    // var saveProduct=wx.getStorageSync("saveProductList")||[];
    // if (saveProduct.length<1){
    //   // 第一次添加数据
    //   wx.setStorage({
    //     key: 'saveProductList',
    //     data: newProductList,
    //   })
    // }else{
    //   // 多次添加修改数据
    //   // saveProduct.push(newProductList)
    //   wx.setStorage({
    //     key: 'saveProductList',
    //     data: newProductList,
    //   })
    // }
    
    
    // var postdata = JSON.stringify(newProductList)
        // 跳转到购物车
        wx.navigateTo({
          url: '../../carts/carts'
        })
    
  },
// 减法函数
  bindMinus:function(e){
    var that = this
    var productList = this.data.productList || {}
    var index = e.currentTarget.dataset.index;
      productList.forEach((item, i, arr) => {
        if (item.stepCount>=1){
          item.stepCount = item.stepCount - 1
        }
        
      })
      this.setData({
        productList
      })
  },
  // 加法函数
  bindPlus:function(e){
    var that=this
    var productList=this.data.productList||{}
    var index = e.currentTarget.dataset.index;

    // var name = e.currentTarget.dataset.name;
    // var id = e.currentTarget.dataset.id;
    // var price = e.currentTarget.dataset.price;

    // var count = parseInt(item[index].stepCount)+1;
    productList.forEach((item,i,arr)=>{
      if (index==i){
        if(item.store<=item.stepCount){
          wx.showToast({
            title: '没货了',
            icon:"none",
            image:"../../../images/tupianjiazaishibai02.png"
          })
        }else{
          item.stepCount += 1
        }
      }
    })
    this.setData({
      productList
    })
  },



  // 文本框函数
  bindManual:function(){
    // var num = e.detail.value;
    // // 将数值与状态写回
    // this.setData({
    //   num: num
    // });
  },

  check:function(){
    wx.showActionSheet({
      itemList: [],
    })
  },


  // 获取所有产品
  allProduct:function(){
    this.setData({
      product_id:1,
      currentIndex:-1
    })
    wx.cloud.callFunction({
      name: 'findAllProduct',
      success: res => {
        this.setData({
          productList:res.result.data
        })
      }
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    console.log(options)

    var that=this;

    wx.showLoading({
      title: '加载中……',
    })

    //获取产品类型
    wx.cloud.callFunction({
      name:'findAllProductType',
      success:res=>{
        this.setData({
          productTypeList:res.result.data
        })
      }
    })
    // 获取产品列表
    wx.cloud.callFunction({
      name:'findAllProduct',
      success:res=>{
        console.log(res)
        var saveData=wx.getStorageSync('saveProductList')||[]
        console.log("-----------------------")
        console.log(saveData)
        if(saveData.length<1){
          res.result.data.forEach((item,index)=>{
            item.addCar=0
          })
          that.setData({
            productList: res.result.data
          })
        }else{
          res.result.data.forEach((item1,index1)=>{
            saveData.forEach((item2,index2)=>{
              if(item1._id==item2._id){
                item1.addCar=item2.stepCount
              }else{
                item1.addCar=0
              }
            })
          })

         

        }
        that.setData({
          productList: res.result.data
        })
        console.log(this.data.productList)

        wx.hideLoading({
          success: (res) => {
            console.log("数据加载结果")
          },
        })
      }
    })





  },
  //扫码获取商品信息
  scanCode:function(){
    wx.scanCode({
      scanType: ['barCode', 'qrCode'],
      success: function(res) {
        var code=res.result


        // 判断这个商品是否被添加到商品列表中了
        db.collection("product").where({
          qr:code
        }).get({
          success:res=>{            
            console.log(res)
            var getProduct=res.data;
            if(getProduct.length>0){
              console.log("我执行到这里了")
             var getRes= wx.getStorageSync('saveProductList')||[]
             console.log(getRes)
             var result=getRes.every((item,index)=>{
              //  所有条件成立才为true,否者为false
               return item.qr!=getProduct[0].qr
             })
             if(result){
              // 代表数据存储中没有这条数据
              console.log("我里面没有这条数据")
              var getRes= wx.getStorageSync('saveProductList')||[]
                 console.log(getRes)
                 getProduct.forEach((item,index)=>{
                   item.stepCount=1
                 })
               var getRes= [...getRes,...getProduct]
               console.log(getRes)
                 wx.setStorageSync('saveProductList', getRes)
            }else{
              var products=wx.getStorageSync('saveProductList')||[]
              products.forEach((item,index)=>{
                console.log("我在这里需要加1")
                if(item.qr==code){
                  item.stepCount+=1
                }
              })

              wx.setStorageSync('saveProductList', products)
            }
            //  判断内存中是否存在数据
            }else{
              wx.showToast({
                title: '商品列表中不存在这个商品，请先添加',
                icon:"none"
              })
              return false
            }

          }
        })
        return false;
        // 判断内存中的商品是否存在
        var products=wx.getStorageSync('saveProductList')||[];
        console.log("输出数据",products)
        if(products.length<1){
          // 根据二维码搜索商品
          db.collection("product").where({
            qr:code
          }).get({
            success:res=>{
              console.log(res)
              var getProduct=res.data;
              if(getProduct.length>0){
                console.log("我执行到这里了")
               var getRes= wx.getStorageSync('saveProductList')||[]
               console.log(getRes)
             var getRes= getRes.push(getProduct)
             console.log(getRes)
               wx.setStorageSync('saveProductList', getRes)
              }else{
                wx.showToast({
                  title: '商品列表中不存在这个商品，请先添加',
                  icon:"none"
                })
                return false
              }

            }
          })
        }else{
          // 判断里面有没有符合的数据
          var result=products.every((item,index)=>{
            return item.qr!=code
          })
         
         




        }
      },
      fail: function(res) {
        wx.showToast({
          title: '扫码失败',
          icon:"none"
        })
      }
    })
  }
})